Subscriber equipment for broadcast information and method therefor

ABSTRACT

Subscriber equipment ( 300 ) is provided with a data storage device ( 350 ), such as a hard disk drive. A data processor ( 325 ) receives update messages. When the data processor ( 325 ) determines that the information code of an update message is on the subscriber&#39;s watch list, the data processor ( 325 ) processes the update and provides the processed update for display or further processing. When the information code is that of a selected record i.e. one that the subscriber is interested in, the data processor ( 325 ) processes the update and stores the processed update in a cache ( 330 ). However, when the information code is not of interest to the subscriber i.e. not on the subscriber&#39;s watch list and not that of a selected record, then the data processor does not process the record. Instead, the data processor ( 325 ) indexes and stores the unprocessed record in the data storage module ( 350 ).

FIELD OF THE INVENTION

[0001] The present invention relates to subscriber equipment, and moreparticularly to subscriber equipment that receives and providesbroadcast information that is frequently updated.

BACKGROUND OF THE INVENTION

[0002] Information service companies, also referred to as informationservice providers, provide information including financial data and newson a subscription basis to subscribers. The subscribers arepredominantly commercial entities, and the information provided includesrecords such as company annual reports; company results announcements;company share prices; news items relating to particular companies; newsitems and market prices relating to market sectors (e.g.telecommunications, banking, or pharmaceuticals); commodity prices, andso on. Each record provides information on a specific subject and eachrecord has a number of information fields. For example, a record thatprovides the stock information of a particular company can includeinformation fields that provide the last transacted price on aparticular day, the change in stock price relative to the previous day,the day's highest price, the day's lowest price, the opening price, thecurrent bid and ask prices, the volume of stock traded, and a variety ofother information.

[0003] In order to update the information and keep the record current,an information service provider continuously broadcasts a large numberof update messages that provide the updates to the records, ideallyupdates are provided as and when events occur. Returning to the exampleof stock information, while some of the fields of a record do not changethrough the course of a day, such as the opening price on a particularday, other fields, such as the current bid and ask prices and the volumeof stock traded, tend to change rather frequently. Consequently,throughout the day update messages are transmitted to provide updates tothe fields of a record that change.

[0004] When a subscriber subscribes to a particular service subscriptionpackage provided by an information service provider, subscriberequipment usually located at the subscriber's premises, receives andprocesses all update messages that provide updates to records associatedwith the particular service subscription package. However, a subscribertypically monitors only a portion of the records delivered under aservice subscription package. The portion of records can be referred toas a subscriber's watch list.

[0005] In a conventional method for receiving and processinginformation, each record has a pre-assigned information code, and updatemessages are transmitted comprising an update for a particular recordand includes the corresponding information code of that particularrecord.

[0006] With reference to FIG. 1, conventional subscriber equipment 100for receiving and processing update messages comprises a satellitereceiver 105 and a computer 110, which for simplicity of description,includes a subscriber input 112, such as a keyboard and mouse, and adisplay 114. The computer 110, which comprises a microprocessor basedsystem operating in accordance with a software program, as is known inart, provides a variety of functional blocks or modules. These include afilter 115, a data processor 125, a cache 130, a record request module135, and a display/subscriber application module 140.

[0007] The filter 115 functions like a cable TV box that receives updatemessages and passes only the update messages that correspond to recordsin a subscriber's service subscription package. The filter 115accomplishes this by checking the information code of the updatemessage, and determining that the information code complies with theinformation codes of records provided with the service subscriptionpackage. The filter 115 filters the received update message and providesfiltered data, which the data processor 125 then processes to recoverthe transmitted update. When the information code of the update messageis not on the subscriber's watch list, the data processor 125 processesand applies the update to the respective record stored in the cache 130.On the other hand, when the information code is on the subscriber'swatch list, the data processor 125 processes and provides the updatedirectly to the display/user application module 140. In addition, thedata processor 125 also provides the update to the cache 130 to updaterecords in the cache 130. In this way, messages that provide updates torecords on the subscriber's watch list are processed and made availableto the subscriber immediately, while records that are not on thesubscriber's watch list are processed and only applied to the records inthe cache 130, thus maintaining updated records in the cache 130.

[0008] When a subscriber wants to add a record to the watch list, thesubscriber provides a subscriber request comprising the information codeof the record to the subscriber input 112. The subscriber request module135 receives the requested information code via the display/subscriberapplication module 140, gets the requested record from the cache 130,and provides the requested record to the display/subscriber applicationmodule 140. Upon receiving the retrieved record, the display/subscriberapplication module 140 presents the retrieved record on the display 114or further processes the retrieved record as determined by thedisplay/subscriber application module 140.

[0009] The display/subscriber application module 140 works with thesubscriber input 112 and the display 114 to provide an interface betweena subscriber or subscriber equipment and the computer 110. In somecircumstances the display/subscriber application 140 module comprisesequipment provided by the information service provider. Often, however,the display/subscriber application module 140 comprises proprietarysubscriber equipment and software that communicates with the computer110 and processes records provided by the information service providerin accordance with the particular requirements of the subscriber.

[0010] For reliable information delivery, a system for broadcastingupdate messages typically supports recovery from intermittenttransmission errors or complete failures in the transmission pathbetween the information service provider and the subscriber equipment.In addition, the system should also support new or repaired subscriberequipment that are beginning reception. Consequently, for each recordthere are three types of update messages that are broadcasted from theinformation service provider. A first type of message is an updatemessage that provides updates for individual fields of the record. Forexample, the last traded price of an equity. A second type of message isan intermediate consolidated update message that provides updates forall the fields of the record that changed over a predetermined shortcycle period i.e. an aggregation of the changes in a short cycle periodof fifteen minutes. For example, fields providing the latest values forthe last traded bid and offer prices of an equity. The intermediateconsolidated update message allows recovery from intermittenttransmission errors. A third type of message is a complete consolidatedupdate message that provides updates for all the fields of a record. Acomplete consolidated update message provides the most up-to-datesnapshot of a record i.e. a complete record image, and is transmittedonce over a predetermined long cycle period of four hours. The completeconsolidated update message allows the subscriber equipment to recoverfrom long outages.

[0011] The filter 115 receives and passes all three types of messagesassociated with a service subscription package to the data processor125. The data processor 125 processes each update message and appliesand stores or presents/provides the updates as dictated by the watchlist, as described earlier.

[0012] A disadvantage of this broadcast method is the need for powerfuland expensive subscriber equipment, as the computer 110 has to processall update messages for all records that are received by the subscriberequipment in accordance with a service subscription package. Forexample, when two million records are supported, the update messagetraffic can amount to about ten thousand update messages per second ormore. When the update message traffic increases, conventional subscriberequipment are unable to cope with the volume of update messages thatneed to be processed. Sometimes, a compromise has to be made to limitthe number of records that can be provided to subscribers to reduce theupdate message traffic to a level that can be supported by moreeconomical subscriber equipment.

[0013] To overcome this limitation, an additional communication link orback link has been incorporated between the information service providerand the subscriber equipment. With additional equipment the informationservice provider can receive and process a subscriber request for aparticular record from the subscriber equipment via the back link, andprovide the requested record initially via the back link, and thenprovide subsequent updates for the record via broadcast.

[0014] With reference to FIG. 2, a known system 200 that incorporatesthe additional communication back link includes a satellite receiver 105and a computer 210 with the subscriber input 112 and the display 114.Similar to the one described earlier, the computer 210 includes avariety of functional blocks, including a filter 215, a data processor225, a cache 230, a subscriber request module 235, and adisplay/subscriber application module 140. The filter 215 receives andpasses only the update messages with information codes that correspondto a subscriber's service subscription package, which is accomplished asdescribe before. In addition, the filter 215 is coupled to receiveinformation codes for subscriber requested records from the dataprocessor 225 and transmit the request information code via acommunication back link 227 to the information service provider (notshown). The data processor 225 is also coupled to cache 230 for storageof records.

[0015] A subscriber request module 235 receives subscriber requests fromthe subscriber input 112 via the display/subscriber application module140, and is coupled to the cache 230 and the data processor 225. Thesubscriber request module 235 provides requested information codes tothe data processor 225.

[0016] Initially, with no records stored in the cache 230, when asubscriber request for a particular record is received from thesubscriber input 112, the subscriber request module 235 communicates therequest via the back link 227 to the information service provider. Inresponse, the filter 215 receives and passes an update message thatprovides the requested record. The received record is processed by thedata processor 225 and provided to the display/subscriber applicationmodule 140. Subsequently, when update messages that provide updates tothe record are received, the filter 215 passes the update messages,which are then processed to apply the update to the record.

[0017] In time, subscriber requests for a variety of records results ina watch list of the information codes of those records, and thesubscriber's watch list is maintained by the data processor 225. Whenthe filter 215 receives update messages for any of the records on thewatch list, the update messages are processed and provided directly tothe display/subscriber application module 140. Typically, a subscriberis interested in a larger number of records than the number of recordson his watch list, and this can be a multiple of the number of recordson the watch list. In order to mediate subscriber request trafficbetween the subscriber equipment and the information service provider,and provide timely response to a subscriber's request, the records thata subscriber is interested in are stored and maintained updated in thecache 230. The records that a subscriber is interested in and which arestored in the cache 230 will be referred to hereinafter as selectedrecords. The method and criteria that are used to determine selectedrecords may be varied and will not be described here.

[0018] Hence, update messages that provide updates for selected recordswill be processed and the update applied to the respective record storedin the cache, and update messages that provide updates for records thatare on the subscriber's watch list are processed and provided directlyto the display/subscriber application module 140. This includes updatesprovided by the intermediate consolidated update messages and thecomplete consolidated update messages

[0019] When the subscriber request module 235 receives a request for arecord as a result of a subscriber request, the subscriber requestmodule 235 first searches the cache 230 to determine whether therequested record is a selected record i.e. if the requested record isstored in the cache 230. When the requested record is not a selectedrecord, only then is the subscriber request sent via the back link 227to the information service provider. Of course when a requested recordis available in the cache 230 it is retrieved and provided to thedisplay/subscriber application module 140.

[0020] With the back link, the data processor 225 does not now need toprocess all update messages as the filter 215 only passes updatemessages that either provide updates for selected records or for recordsin the subscriber's watch list. Hence, with the lower volume of updatemessage traffic, a lower powered computer and a cache with a smallercapacity may be employed in the subscriber equipment 200, as the numberof update messages that are processed is now substantially less thanthat in the broadcast method.

[0021] A disadvantage of this method is the need for the additionalcommunication link, which adds to the costs and complexity of thesystem. This is due to the need for suitable communication links andadditional equipment for the information service provider to receive andprocess subscriber requests. Another disadvantage of this method is thatsuitable communication links may not be readily available in regions inwhich subscribers are located.

[0022] Hence, there is a need for subscriber equipment that receivesinformation broadcast from an information service provider which doesnot require an additional communication link, and does not require ahigh powered processor.

BRIEF SUMMARY OF THE INVENTION

[0023] The present invention seeks to provide subscriber equipment forbroadcast information and a method therefor which overcomes, orsubstantially reduces, the abovementioned problems of the prior art.

[0024] Accordingly, in one aspect, the present invention provides anapparatus for continuously receiving update messages for a plurality ofrecords, wherein each of the plurality of records has an identifier(ID), and wherein each update message comprises an update and one of theIDs, the apparatus comprising:

[0025] an input for receiving at least some of the update messages;

[0026] a processor coupled to the input, the processor for processingeach update message when the ID of the update message is one of a firstplurality of IDs, and for providing a processed update and the one ofthe first plurality of IDs to a first output, and the processor forproviding the update message and the ID of the update message to asecond output, without first processing the update message, when the IDof the received update message is not one of the first plurality of IDs;and

[0027] a first memory coupled to the second output for storing theupdate message and the ID of the update message.

[0028] In another aspect the present invention provides a method forprocessing update messages for a plurality of records, wherein each ofthe plurality of records has an identifier (ID), and wherein each updatemessage comprises an update and one of the IDs, the method comprisingthe steps of:

[0029] receiving at least some of the update messages;

[0030] when the ID of a received update message is one of a firstplurality of IDs, processing the update message to produce an update andproviding the update and the ID of the received update message to afirst output; and

[0031] when the ID of the received update message is not of the firstplurality IDs, storing the update message and the ID of the receivedupdate message in a first memory, without first processing the updatemessage.

BRIEF DESCRIPTION OF THE DRAWINGS

[0032] An embodiment of the present invention will now be fullydescribed, by way of example, with reference to the drawings of which:

[0033]FIG. 1 shows subscriber equipment in accordance with the priorart;

[0034]FIG. 2 shows alternate subscriber equipment in accordance with theprior art;

[0035]FIG. 3 shows subscriber equipment in accordance with the presentinvention;

[0036]FIG. 4 shows representations of update messages received by thesubscriber equipment in FIG. 3;

[0037]FIG. 5 shows a representation of the messages in FIG. 4 stored ina memory of the subscriber equipment in FIG. 3;

[0038]FIG. 6 shows a flowchart detailing the operation of the subscriberequipment in FIG. 3 when an update message is received;

[0039]FIG. 7 shows a flowchart detailing the operation of the subscriberequipment in FIG. 3 when an intermediate consolidated update message isreceived;

[0040]FIG. 8 shows a flowchart detailing the operation of the subscriberequipment in FIG. 3 when a complete consolidated update message isreceived; and

[0041]FIG. 9 shows a flowchart detailing the operation of the subscriberequipment in FIG. 3 when processing a subscriber request.

DETAIL DESCRIPTION OF THE DRAWINGS

[0042] Subscriber equipment is provided with a relatively large datastorage device, such as a hard disk drive, and a relatively low poweredprocessor. A data processor receives update messages from a filter thatprovides updates in accordance with a service subscription package. Whenthe data processor determines that the information code of the updatemessage is on the subscriber's watch list, the data processor processesthe update and provides the processed update for display or furtherprocessing. When the data processor determines that the receivedinformation code is that of a selected record i.e. one that thesubscriber is interested in, the data processor processes the update andstores the processed update in a cache. However, when the data processordetermines that the information code of the update message is not ofinterest to the subscriber i.e. is not on the subscriber's watch listand is not that of a selected record, then the data processor does notprocess the record. Instead, the data processor indexes and stores theunprocessed record in the data storage device. Intermediate consolidatedupdate messages and complete consolidated update messages are receivedand processed in a similar way.

[0043] When the subscriber selects a record which is not a selectedrecord and is not on the watch list, the data processor uses theinformation code of the newly selected record and, with the assistanceof the assigned indexes, locates all associated updates stored in thedata storage device; processes the updates; and composes the updates toproduce an updated image of the record i.e. with all fields updated. Thedata processor then provides the updated record for display or furtherprocessing. Subsequently, the newly selected information code is addedto the watch list and the data processor then process and applies anyupdate messages received with the information code of the newly selectedrecord.

[0044] This advantageously allows the subscriber equipment to provideupdated records for a newly selected record without the need for anadditional communication link. In addition, as the data processor onlyprocesses update messages of records that are of interest to thesubscriber, due to the lower volume of update message traffic, the dataprocessor need not be a high powered processor to accomplish this task.

[0045] In FIG. 3 subscriber equipment 300 for receiving and processingupdate messages in accordance with the present invention comprises asatellite receiver 105 coupled to a computer 310, which for simplicityof description, includes a subscriber input 112, such as a keyboard andmouse, and a display 114. The computer 310, comprises amicroprocessor-based system with data storage devices, such as randomaccess memory integrated circuits, and hard disk drives, operating inaccordance with one or more stored software programs. The combination ofthe data storage devices provides a relatively large data storage spacewhich is used to archive or store update messages that are received butare not of interest to the subscriber. The computer provides a varietyof functional modules including a filter 115, a data processor 325, acache 330, a subscriber request module 335, a data storage module 350,and a display/subscriber application module 140.

[0046] As before, the satellite receiver 105 receives broadcasts ofupdate messages from the information service provider (not shown) andprovides the received update messages to the filter 115. The filter 115passes only the update messages that provide updates for records inaccordance with a subscriber's service subscription package. Again, thisis accomplished by checking the information code of an update message,and determining that the information code complies with the informationcodes of records provided with the service subscription package. Thefilter 115 filters the update message and provides filtered data, whichthe data processor 325 then processes to recover the transmitted update.

[0047] Typically, both the satellite receiver 105 and the computer 310comprise proprietary equipment that is provided by the informationservice provider to a subscriber upon subscription. The function of thefilter 115, akin to a cable box of a cable service subscriber. Thecomputer 320 can comprise any of a variety of readily available personalcomputers, having for example a Pentium® processor manufactured by IntelCorporation of the USA. The cache 330 comprises a combination of randomaccess memory (RAM) integrated circuits (ICs) having a capacity of say128 megabytes, and magnetic media such as a hard disk drive. The display114 can comprise a cathode ray tube or a liquid crystal display; and thesubscriber input 112 typically includes a QWERTY keyboard and a mouse.The data storage module 350 is a relatively large memory device, usuallya hard disk drive and may be a shared resource with the cache 330. Forexample, it is anticipated that the data storage device comprising ahard disk with a capacity of 20 gigabytes (GB) would be required forstorage of broadcast update message traffic of 1 megabits per second(MBPS), and that one with a storage capacity of up to 100 GB would berequired for storage of broadcast traffic of 4 MBPS. It will beappreciated that a variety of data storage devices utilizing magnetic,optic or semiconductor media having the required data storage capacitycan also be employed.

[0048] The function of the data processor 325 is provided by softwareresident in the data storage module 350 and executed by themicroprocessor. The data processor 325 receives update messages and whenthe information code of the update message is that of a selected recordi.e. one stored in the cache 330, the data processor 325 processes theupdate message and updates the record stored in the cache 330. When theinformation code of the received update message is on the subscriber'swatch list, the data processor 325 processes the update message andprovides the processed update directly to the display/subscriberapplication module 140. However, when the information code of the updatemessage is not that of a selected record and is not on the subscriber'swatch list, then the data processor does not process the record.Instead, the data processor 325 indexes the update message and storesthe record in the data storage module 350. Indexing, as is known,facilitates subsequent retrieval of the update message(s).

[0049] When processing update messages, the intermediate consolidatedupdate messages and the complete consolidated update messages, the dataprocessor performs processes such as decryption and decompression of thereceived data. When applying an update, the data processor replacesinformation of fields of a record with the update information for thosefields that are provided by the update.

[0050] The subscriber request module 335 is another functional moduleprovided by the combination of software executed by a microprocessor.The subscriber request module 335 receives and processes subscriberrequests from a subscriber that are provided via the display/subscriberapplication module 140, which may result from an input provided by asubscriber to the user input 112. A subscriber request comprises aninformation code of a requested record, and the subscriber requestmodule 335 initially determines whether the information code is that ofa selected record. When the requested information code is that of aselected record, the subscriber request module 335 retrieves the recordfrom the cache 330 and provides the retrieved record to thedisplay/subscriber application module 140. However, when the informationcode is not that of a selected record, the subscriber request module 335provides the information code to the data processor 325. The dataprocessor 325 searches the data storage module 350 for all updatemessages having the information code, using the information code and theassigned indexing. The data processor 325 then composes the locatedupdate messages to produce an updated image of the requested record, andprovides the updated image of the requested record to thedisplay/subscriber application module 140. Subsequently, the dataprocessor 325 adds the information code of the newly requested record tothe subscriber watch list. Upon receipt of all update messages havingthe newly requested information code, the data processor 325 thenprocesses and provides the updates directly to the display/subscriberapplication module 140.

[0051] With reference to FIG. 4, for a particular record, an informationservice provider transmits update messages, and the update messages405-408 are received by the subscriber equipment 300 within a firstfifteen-minute period 410. The update messages 405-408 provide updatesM1-M4, respectively, of the record. There are sixteen fifteen-minuteperiods 412,413, etc, in four hours, and although not illustrated,update messages are received in each of the other fifteen-minuteperiods. After the first fifteen-minute period 410, an intermediateconsolidated update message 421 is broadcast providing an aggregatedupdate IUM1 of the updates M1-M4, which were transmitted in the priorfifteen-minute period 410. Similarly, after each of the subsequentfifteen-minute periods 412,413, etc., corresponding intermediateconsolidated update messages 421, 422-437, respectively, aretransmitted. At the end of a four-hour period 440, a completeconsolidated update message 450 is transmitted. The completeconsolidated update message 450 comprises all the fields of the record,and provides what is referred to as a snapshot of the record. All thefields provide the current information of the record.

[0052] The operation of the subscriber equipment 300 is dependent on theoperation of the computer 320 under the control of one or more softwareprograms, which can be stored in the data storage module 350. Theprocess of executing a software program stored in a computer is known toone skilled in the art, and no further details are provided herein.

[0053] In FIG. 5 the data storage module 350 has three virtual storagespaces, as managed by software, such as the operating system of thecomputer 310. A first storage space 505 stores a complete consolidatedupdate message 450; a second storage space 510 stores sixteenintermediate consolidated update messages IUM1-IUM16, each comprisingupdate messages received in subsequent fifteen-minute periods after thecomplete consolidated update message 450; and a third storage space 515stores update messages M1-M4, etc. as the update messages are receivedover a fifteen-minute period as directed by the data processor 325.

[0054] The complete consolidated update message 450 is stored with anindex 507 assigned by the data processor 325. Similarly, each of theintermediate consolidated update messages IUM1-IUM16 is stored with anindex 521-53 and, each update message M1-M4, etc. is assigned an index541, 542, etc. assigned by the data processor 325. The index assignmentsallows the data processor 325 to locate and retrieve the update messagesof a particular record in the data storage module 350 when theparticular record is requested by the subscriber, and the particularrecord is not currently on the subscriber's watch list and is not aselected record. Therefore, in total, the minimum storage capacity ofthe data storage module 350 has to be sufficient for storing eight hoursand fifteen minutes of update messages. For a variety of practicalconsiderations the data storage capacity of the data storage module 350that is employed is larger than the minimum storage capacity.

[0055] With reference to FIG. 6 the operation 600 of the subscriberequipment 300 for processing update messages starts 605 with the dataprocessor 325 determining 610 whether an update message has beenreceived. When an update message is received the information code isdetermined 615, however, when an update message has not been received,the data processor 325 continues to monitor 610 receipt of an updatemessage.

[0056] A determination 620 is then made when an update message isreceived, as to whether the information code is on the subscriber'swatch list and if not, a further determination 635 is made as to whetherthe information code is a selected code. When the information code is onthe subscriber's watch list, the update message is processed 625 by thedata processor 325 and provided 630 directly to the display/subscriberapplication module 140, after which the data processor 325 returns tomonitoring 610 receipt of update messages.

[0057] Alternatively, when the information code is a selected code, theupdate message is processed 640 by the data processor 325 and the updateis applied 645 to the respective record stored in the cache 330. Thedata processor 325 then returns to monitoring 610 receipt of updatemessages.

[0058] When the information code of the update message is neither on thesubscriber's watch list nor a selected code, then the data processor 325indexes 650 the update message as received, and stores 655 theunprocessed update message in the third storage space 515 of the datastorage module 350. Again, the data processor 325 then returns tomonitoring 610 receipt of subsequent update messages.

[0059] With reference to FIG. 7 the operation 700 of the subscriberequipment 300 for processing intermediate consolidated update messagesstarts 705 with the data processor 325 determining 710 whether anintermediate consolidated update message has been received. When anintermediate consolidated update message is received the informationcode is determined 715, however, when an intermediate consolidatedupdate message has not been received, the data processor 325 continuesto monitor 710 receipt of an intermediate consolidated update message.

[0060] A determination 720 is then made when an intermediateconsolidated update message is received as to whether the informationcode is on the subscriber's watch list and if not, a furtherdetermination 735 is made as to whether the information code is aselected code. When the information code is on the subscriber's watchlist, the intermediate consolidated update message is processed 725 bythe data processor 325 and provided 730 directly to thedisplay/subscriber application module 140, after which the dataprocessor 325 returns to monitoring 710 receipt of subsequentintermediate consolidated update messages.

[0061] Alternatively, when the information code is a selected code, theintermediate consolidated update message is processed 740 by the dataprocessor 325 and the intermediate consolidated update is applied 745 tothe respective record stored in the cache 330. The data processor 325then returns to monitoring 710 receipt of subsequent intermediateconsolidated update messages.

[0062] When the information code of the intermediate consolidated updatemessage is neither on the subscriber's watch list nor a selected code,then the data processor 325 indexes 750 the intermediate consolidatedupdate message, as received. The data processor 325 then erases 755update messages received and stored in the third storage space 515 ofthe data storage module 350 since the previous intermediate consolidatedupdate message was received. The data processor 325 then stores 760 theindexed intermediate consolidated update message in the second storagespace 510 of the data storage module 350. Again, the data processor 325then returns to monitoring 710 receipt of subsequent intermediateconsolidated update messages.

[0063] With reference to FIG. 8 the operation 800 of the subscriberequipment 300 for processing complete consolidated update messagesstarts 805 with the data processor 325 determining 810 whether acomplete consolidated update message has been received. When a completeconsolidated update message is received the information code isdetermined 815. However, when a complete consolidated update message hasnot been received, the data processor 325 continues to monitor 810receipt of subsequent complete consolidated update messages.

[0064] A determination 820 is then made as to whether the informationcode is on the subscriber's watch list and if not, a furtherdetermination 835 is made as to whether the information code is aselected code. When the information code is on the subscriber's watchlist, the complete consolidated update message is processed 825 by thedata processor 325 and provided 830 directly to the display/subscriberapplication module 140, after which the data processor 325 returns tomonitoring 810 receipt of subsequent complete consolidated updatemessages.

[0065] Alternatively, when the information code is a selected code, thecomplete consolidated update message is processed 840 by the dataprocessor 325 and the complete consolidated update is applied 845 to therespective record stored in the cache 330. The data processor 325 thenreturns to monitoring 810 receipt of subsequent complete consolidatedupdate messages.

[0066] When the information code of the complete consolidated updatemessage is neither on the subscriber's watch list nor a selected code,then the data processor 325 indexes 850 the complete consolidated updatemessage, as received, with an index 507. The data processor 325 thenerases 855 update messages received and stored in the third storagespace 515 of the data storage module 350 since the last intermediateconsolidated update message was received. The data processor 325 alsoerases 860 intermediate consolidated update messages stored in thesecond storage space 510 of the data storage module 350 since theprevious complete consolidated update message was received.

[0067] The data processor 325 then stores 865 the indexed completeconsolidated update message in the first storage space 505 of the datastorage module 350. Again, the data processor 325 then returns tomonitoring 710 receipt of subsequent intermediate consolidated updatemessages.

[0068] Hence, the subscriber equipment, as described, advantageouslydoes not require an additional back link to the information serviceprovider, as all information that is received is stored either in thecache or the data storage module, and can be retrieved and presented orfurther processed, as required by the subscriber. In addition, as theprocessor does not process all the update messages that are received,the processor need not be a more powerful processor. The presentinvention thus advantageously uses a cheaper hard disk instead of themore expensive powerful processor With reference to FIG. 9, a process900 for processing subscriber requests starts 905 with the subscriberrequest module 335 monitoring 910 receipt of a subscriber request. Whena subscriber request is received from the subscriber input 112 via thedisplay/subscriber application module 140, a determination 915 of theinformation code provided by the subscriber request is made. A furtherdetermination 920 is then made as to whether the information code is aselected code i.e. if its stored in the cache 330. When the informationcode is stored in the cache 330, the respective record is retrieved 926from the cache 330 and provided to the display/subscriber applicationmodule 140, and the requested information code added 927 to thesubscriber's watch list. The subscriber request module 335 then returnsto monitoring 910 receipt of subsequent subscriber requests.

[0069] When the information code is not available in the cache 330, thesubscriber request module 335 provides the request to the data processor325. The data processor 325 uses the information code and previouslyassigned indexes to retrieve 925 all update message(s), intermediateconsolidate update message(s) and the complete consolidated updatemessage from the data third, second and first storage spaces 515, 510and 505 of the data storage module 350, respectively. The data processor325 then processes and composes 930 the update message(s), intermediateconsolidate update message(s) and the complete consolidated updatemessage, and provides 935 an updated image of the requested record tothe display/subscriber application module 140. The requested informationcode is then added 940 to the subscriber's watch list and the process900 returns to monitoring 910 receipt of subsequent subscriber requests.

[0070] The present invention, as described, provides subscriberequipment that does not require an additional communication link back tothe information service provider, and does not need a high poweredprocessor.

[0071] This is accomplished by only processing update messages forrecords that a subscriber is interested in and storing all other updatemessages without processing them. When the subscriber selects a newrecord which he was previously not interested in, the subscriberequipment retrieves the respective update messages of the requestedrecord from storage, composes the associated update messages to producean update image of the requested record, and presents the requestedrecord to the subscriber for display or further processing. In addition,the requested record is then added to the subscriber's watch list sothat subsequent updates for the record are applied when received.

[0072] The present invention therefore provides subscriber equipment forbroadcast information and a method therefor which overcomes, orsubstantially reduces, the abovementioned problems of the prior art.

[0073] It will be appreciated that although only one particularembodiment of the invention has been described in detail, variousmodifications and improvements can be made by a person skilled in theart without departing from the scope of the present invention.

1. An apparatus for continuously receiving update messages for aplurality of records, wherein each of the plurality of records has anidentifier (ID), and wherein each update message comprises an update andone of the IDs, the apparatus comprising: an input for receiving atleast some of the update messages; a processor coupled to the input, theprocessor for processing each update message when the ID of the updatemessage is one of a first plurality of IDs, and for providing aprocessed update and the one of the first plurality of IDs to a firstoutput, and the processor for providing the update message and the ID ofthe update message to a second output, without first processing theupdate message, when the ID of the received update message is not one ofthe first plurality of IDs; and a first memory coupled to the secondoutput for storing the update message and the ID of the update message.2. An apparatus in accordance with claim 1 wherein the processor furthercomprises a third output, the processor for processing the updatemessage when the ID of the update message is one of a second pluralityof IDs, and the processor for providing a processed update and the oneof the second plurality of IDs to a third output; and wherein theapparatus further comprises a second memory coupled to the third outputfor storing the processed update and the one of the second plurality ofIDs
 3. An apparatus in accordance with claim 2 further comprising a userapplication module coupled to the first output for receiving theprocessed update and the one of the first plurality of IDs, and forprocessing the update message in accordance with user specificrequirements.
 4. An apparatus in accordance with claim 3 wherein theapplication module comprises a display module for preparing the updatefor presentation on a display.
 5. An apparatus in accordance with claim4 further comprising a user input device coupled to the applicationmodule, the user input device for providing inputs from a user to theapplication module.
 6. An apparatus in accordance with claim 3 furthercomprising a request module coupled to receive a user request thatprovides at least one ID, the request module coupled to the secondmemory for determining whether a record having the at least one ID isstored in the second memory, and when the record having the at least oneID is stored in the second memory, the request module retrieving therecord having the at least one ID from the second memory, and therequest module coupled to provide the record having the at least one IDto the application module.
 7. An apparatus in accordance with claim 6wherein the request module is further coupled to the processor forproviding the at least one ID to the processor when a record having theat least one ID is not stored in the second memory, the processorcoupled to the first memory for retrieving update messages having the atleast one ID therefrom, for processing the retrieved update messages toproduce an updated record, and the processor for providing the updatedrecord to the application module.
 8. An apparatus in accordance withclaim 7 wherein the first memory comprises a magnetic data storagedevice.
 9. An apparatus in accordance with claim 7 wherein the secondmemory comprises a semiconductor data storage device.
 10. An apparatusin accordance with claim 7 wherein the first memory comprises a magneticdata storage device, and wherein the second memory comprises asemiconductor data storage device.
 11. An apparatus in accordance withclaim 7 further comprising a filter coupled to receive broadcast updatemessages for the plurality of records, and the filter coupled to theinput for providing the at least some of the update messages.
 12. Anapparatus in accordance with claim 1 further comprising a receiver forreceiving a broadcast signal, and the receiver coupled to the filter toprovide the broadcast update messages.
 13. A method for processingupdate messages for a plurality of records, wherein each of theplurality of records has an identifier (ID), and wherein each updatemessage comprises an update and one of the IDs, the method comprisingthe steps of: receiving at least some of the update messages; when theID of a received update message is one of a first plurality of IDs,processing the update message to produce an update and providing theupdate and the ID of the received update message to a first output; andwhen the ID of the received update message is not of the first pluralityIDs, storing the update message and the ID of the received updatemessage in a first memory, without first processing the update message.14. A method in accordance with claim 13 further comprising the step ofprocessing the update message to produce an update, and storing theupdate and the ID of the received update message in a second memory whenthe ID of the received update message is one of a second plurality ofIDs.
 15. A method in accordance with claim 14 further comprising thesteps of: receiving the update and the ID of the received update messagefrom the first output; and processing the update in accordance with userspecific requirements.
 16. A method in accordance with claim 15 whereinthe processing step further comprises the step of preparing the updatefor presentation on a display.
 17. A method in accordance with claim 15further comprising the step of receiving the user specific requirementsprior to the step of processing
 18. A method in accordance with claim 15further comprising the steps of: receiving a user request that providesat least one ID; determining whether a record having the at least one IDis stored in the second memory; when the record having the at least oneID is stored in the second memory, retrieving the record having the atleast one ID from the second memory; and processing the record havingthe at least one ID in accordance with user specific requirements.
 19. Amethod in accordance with claim 18 further comprising the steps of:retrieving update messages having the at least one ID from the firstmemory when the record having the at least one ID is not stored in thesecond memory; processing the retrieved update messages to produce anupdate record; and processing the update record in accordance with userspecific requirements.
 20. A method in accordance with claim 13 furthercomprising the steps of: receiving broadcast update messages for theplurality of records; and providing the some of the update messages.